package main

import(
	"fmt"
	"strconv"
)

//演示golang基本数据类型转换为string
func main()  {
	var num1 int32=99
	var num2 float32=23.456
	var b bool=true
	var myChar byte='h'
	//使用第一种方式转换
	var str string
	//转换int
	str=fmt.Sprintf("%d",num1)//将int类型转换为字符串类型
	fmt.Printf("类型为:%T 值为:%q \n",str,str)
	//转换float32
	str=fmt.Sprintf("%f",num2)
	fmt.Printf("类型为:%T 值为:%q \n",str,str)

	//转换布尔
	str=fmt.Sprintf("%t",b)
	fmt.Printf("类型为:%T 值为:%q \n",str,str)

	//转换字符
	str=fmt.Sprintf("%c",myChar)//若是%v则是数值显示
	fmt.Printf("类型为:%T 值为:%q \n",str,str)	

	//第二种方式 用的 strconv包的函数
	var num3 int32=99
	var num4 float64=23.456
	var b2 bool=true

	str=strconv.FormatInt(int64(num3),10)
	fmt.Printf("类型为:%T 值为:%q \n",str,str)	

	//num4,格式是f，10表示小数位保留10位 64表示这个小数是float64
	str=strconv.FormatFloat(num4,'f',10,64)
	fmt.Printf("类型为:%T 值为:%q \n",str,str)	

	str=strconv.FormatBool(b2)
	fmt.Printf("类型为:%T 值为:%q \n",str,str)	

	//strconv包中Itoa函数很好用
	str=strconv.Itoa(10)
	fmt.Printf("类型为:%T 值为:%q \n",str,str)	
	

}